/*
 * CLASS: Rental.java
 */

package model;

import java.io.Serializable;
import java.util.Calendar;
import java.util.GregorianCalendar;

/**
 *
 * @author Samuele Mattiuzzo
 */
public class Rental implements Serializable {

    private User owner;
    private boolean returns = false;
    private Calendar ends;

    /**
     * Costruttore pubblico dell classe rental
     * @param u utente che ottiene il prestito
     */
    public Rental(User u){
        owner = u;
        Calendar cal = new GregorianCalendar();
        cal.add(Calendar.DATE,15);
        ends = cal;
    }

    /**
     * Controlla se il prestito e' scaduto o meno
     * @return true se e' ancora in tempo
     */
    public boolean isInTime(){
        Calendar today = new GregorianCalendar();
        if(ends.after(today))
            return true;
        return false;
    }

    /**
     * Data di scadenza, formattata
     * @return stringa della data formattata
     */
    public String getEnd(){
        String tmp = new String();
        tmp += ends.get(Calendar.DAY_OF_MONTH)+"/";
        tmp += (ends.get(Calendar.MONTH)+1)+"/";
        tmp += ends.get(Calendar.YEAR);
        return tmp;
    }
    /**
     * Utente del prestito
     * @return owner utente
     */
    public User getOwner(){
        return owner;
    }

    /**
     * Controlla se e' gia stato restituito
     * @return returns
     */
    public boolean returned(){
        return returns;
    }

    /**
     * C'e' richiesta di ritornare il prodotto
     */
    public void setReturns(){
        returns = true;
    }
}
